Web hosting centers often employ a multi-site architecture to mitigate failure and decrease end user response time. For example, a web hosting center may have multiple redundant data centers located at different physical locations. When a user visits a web site, the web server routes the user to one of the data centers, and the user receives the requested data from the data center. The use of multiple redundant data centers provides the web host with security against failure. That is, when a particular data center is rendered unavailable (for example, by mechanical failure, high traffic, etc.), the data is still available from another data center such that routine business may continue.
There currently exist several methods for routing users to different data centers. A first method is the use of round robin domain name system (DNS). In this method, a DNS server maintains or obtains a list of all of the possible data centers for a web site. When a user visits the web site, they are directed to the next data center on the list. For example, a first user that visits the web site is routed to the first data center on the list, a second user that visits the web site is routed to the second data center on the list, and so on. When the end of the list is reached, the next user is routed to the first data center on the list, and the process starts over. In this manner, users visiting the web site are substantially randomly distributed amongst the data centers. The round robin DNS methodology is disadvantageous in that it blindly routes a user to a data center without taking into account any performance concerns of the user or the availability of the data center.
Another known method for routing users amongst multiple data centers is Global Server Load Balancing (GSLB), which is a form of DNS-based load balancing. When a user requests the IP address from a GSLB-enabled site, they are routed to a particular data center based upon parameters such as, for example: the availability of back end servers, the round trip time for packets from GSLB hardware to back end servers, etc. The GSLB method is disadvantageous in that it requires additional hardware and does not take into account parameters that are specific to the user accessing the web site.
A third method of routing a user to one of multiple data centers is to allow a user to select which data center to be routed to. For example, when a user visits a web site, the user may be presented with a list of data centers and the geographic location of each data center. The user is prompted to choose a data center from the list, and often chooses the data center in closest geographical proximity to the user's location. However, this method is disadvantageous in that it requires the user to choose the data center, thereby increasing the user workload. Moreover, the data center with the closest physical location to the user may not be the data center with the fastest connection for the user.
Accordingly, there exists a need in the art to overcome the deficiencies and limitations described hereinabove.